﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Runtime.Serialization;

using Ivy.Common.Framework.Base;


namespace Hsmp.SocietyAdmin.Entity
{
    [Serializable]
    [DataContract]
    public class Society : DataEntityBase
    {
        #region  Variable& constant
        Int32 lSocietyKey = -1;
        string lSocietyCode = string.Empty;
		string lSocietyName = string.Empty;
		string lSocietyAddressLine1 = string.Empty;
		string lSocietyAddressLine2  = string.Empty;
		string lSocietyAddressCity  = string.Empty;
		string lSocietyAddressState = string.Empty;
		string lSocietyAddressCountry  = string.Empty;
        string lSocietyAddressZip = string.Empty;
        #endregion  Variable& constant

        #region Constructor & Destructor
        public Society()
            : base()
        {
            this.Sys_DeleteType = DeleteType.SoftDeleteOnly;
        }
        #endregion Constructor & Destructor

        #region Properties
        [DataMember]
        public Int32 SocietyKey
        {
            get
            {
                return lSocietyKey;
            }
            set
            {
                lSocietyKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyCode
        {
            get
            {
                return lSocietyCode;
            }
            set
            {
                lSocietyCode = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyName
        {
            get
            {
                return lSocietyName;
            }
            set
            {
                lSocietyName = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyAddressLine1
        {
            get
            {
                return lSocietyAddressLine1;
            }
            set
            {
                lSocietyAddressLine1 = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyAddressLine2
        {
            get
            {
                return lSocietyAddressLine2;
            }
            set
            {
                lSocietyAddressLine2 = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyAddressCity
        {
            get
            {
                return lSocietyAddressCity;
            }
            set
            {
                lSocietyAddressCity = value;   
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyAddressState
        {
            get
            {
                return lSocietyAddressState;
            }
            set
            {
                lSocietyAddressState = value;

                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyAddressCountry
        {
            get
            {
                return lSocietyAddressCountry;
            }
            set
            {
                lSocietyAddressCountry = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string SocietyAddressZip
        {
            get
            {
                return lSocietyAddressZip;
            }
            set
            {
                lSocietyAddressZip = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods
    }
}
